////左值和右值 左值可以取地址，右值不可以取地址
//#include <iostream>
//
//using namespace std;
//
//int foo() {
//    int m = 888;
//    return m;
//}
//
//int main(void) {
//    //当前作用域的生命周期
//    //具名内存 -->能够取地址-->左值 | 非常左值（无const修饰）
//    //                           | 常左值(有const修饰)
//    int a = 10;
//    int &ra = a;//ok
//    const int &cra = a;//ok
//
//    const int b = 10;
////    int& rb = b;//error
//    const int &crb = b;//ok
//    //语句级生命期
//    //匿名内存 ---> 不能取址 --->右值 | 直接更改右值毫无意义（98/03标准给出的结论）
//    const int &ri = 10;
//
//    const int &rf = /* |88| */foo(); //(1)分配一块内存空间（2）生成跳转指令
//    
//    return 0;
//}